package com.liu.friend.service;

import com.liu.friend.dao.FriendDao;
import com.liu.friend.dao.NoFriendDao;
import com.liu.friend.pojo.Friend;
import com.liu.friend.pojo.NoFriend;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by Administrator on 2019/8/23 0023.
 */
@Service
@Slf4j
@Transactional
public class FriendService {

    @Autowired
    private FriendDao friendDao;

    @Autowired
    private NoFriendDao noFriendDao;

    /**
     *  添加好友系统
     * @param userid
     * @param friendid
     * @return
     */
    public int addFriend(String userid,String friendid){

//        判断是否已经添加好友
        if (friendDao.selectCount(userid, friendid) > 0) {

            return 0;

        }
//        如果没有添加则添加好友
        Friend friend = new Friend();
        friend.setUserid(userid);
        friend.setFriendid(friendid);
        friend.setIslike("0");
        friendDao.save(friend);
//        判断对方是否也喜欢你
        if (friendDao.selectCount(friendid,userid)>0){
//         如果对方也喜欢你，则将用户状态修成1 状态
            friendDao.updateLike(userid,friendid,"1");
            friendDao.updateLike(friendid,userid,"1");

        }
        return 1;

    }

    /**
     * 删除好友
     */
    public void deleteFriend(String userid,String friendid){
        friendDao.deleteByFriend(userid,friendid);
        friendDao.updateLike(friendid,userid,"0");
        addNoFriend(userid, friendid);
    }

    /**
     * 添加不喜欢列表
     * @param userid
     * @param friendid
     * @return
     */
    public int addNoFriend(String userid, String friendid) {

        NoFriend noFriend = new NoFriend();
        noFriend.setUserid(userid);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
        return 0;
    }
}
